This invention relates to implantable medical devices, and more particularly, to programming systems for providing implantable medical devices with control programs based on multiple program modules.
Implantable medical devices such as cardiac simulating devices, drug pumps, cochlear implants, and neurostimulators perform a variety of complex medical functions. For example, a cardiac stimulating device may detect various cardiac abnormalities and provide corresponding corrective therapies to a patient's heart. A cardiac stimulating device may also use diagnostic routines to monitor a patient's condition. Typically, cardiac stimulating devices such as pacemakers contain microprocessor-based control circuitry to implement the complex therapies and diagnostic routines that are used. Consequently, a control program is usually required to operate this type of device.
Cardiac stimulating devices generally contain a dedicated control circuit to provide the most basic, life-sustaining pacing functions. More complex functions are handled by executing the control program. For example, the control program is used to determine whether a cardioversion or defibrillation shock should be applied to a patient's heart. However, certain functions are of interest only to those patients who suffer from specific conditions. For example, if a patient suffers from tachycardia, a condition in which the heart beats too quickly, a diagnostic module that measures and stores data related to tachycardia can be used. However, this function would most likely not be used by a patient who does not experience tachycardia episodes. Similarly, the ability of a control program to generate an antitachycardia therapy in response to a detected antitachycardia episode is only useful for patients who suffer occurrences of tachycardia.
Typically, however, cardiac stimulating devices are designed to operate under the control of a single control program. Although certain parameters may be adjusted, such as the base pacing rate, the control program itself is not altered by the physician. If a feature that the control program provides is not required, the physician disengages that function, so that it is not used. For example, U.S. Pat. No. 4,958,632 (Duggan) shows a pacemaker with multiple functions that may be selected by a physician. However, the number of features that may be readily provided by the pacemaker in the Duggan patent is limited by the capacity of the memory within that device. Further, because the instructions used to provide each feature remain loaded in the memory of the device, even if a feature is not used, the memory reserved for that feature cannot be used to provide a different function. Although more memory could be provided, increasing the size of the memory is undesirable, because additional memory consumes more power and when a cardiac stimulating device's battery is exhausted the device must be surgically replaced.